package ar.com.age.distribuidora.presentacion.controller;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import org.primefaces.context.RequestContext;

import ar.com.age.distribuidora.dominio.Gerente;
import ar.com.age.distribuidora.presentacion.util.ServiceLocator;

@ManagedBean
@SessionScoped
public class EditarGerenteBean {


	private Gerente gerenteSeleccionado;  
    
    private Gerente gerenteSeleccionadoDetalles;  


	public Gerente getGerenteSeleccionado() {
		return gerenteSeleccionado;
	}

	public void setGerenteSeleccionado(Gerente gerenteSeleccionado) {
		this.gerenteSeleccionado = gerenteSeleccionado;
	}

	public Gerente getGerenteSeleccionadoDetalles() {
		return gerenteSeleccionadoDetalles;
	}

	public void setGerenteSeleccionadoDetalles(
			Gerente gerenteSeleccionadoDetalles) {
		this.gerenteSeleccionadoDetalles = gerenteSeleccionadoDetalles;
	}
	
	public String actualizarGerente() {
		
		if (this.gerenteSeleccionado != null) {
			
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Gerente",  "Gerente editado con exito.");  
	        FacesContext.getCurrentInstance().addMessage(null, message); 
	        
			ServiceLocator.getUsuarioService().crearOEditarGerente(this.gerenteSeleccionado);
			this.gerenteSeleccionado = null;
		 
			return null;
		} else {
			
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Gerente",  "No se ha seleccionado un gerente.");  
	        FacesContext.getCurrentInstance().addMessage(null, message);  
			return null;
		}
		
		
		
				
	}
	
	public String editarGerente() {
		
		if (this.gerenteSeleccionado != null) {

			return null;

		} else {
			
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Advertencia", "No ha seleccionado ningun elemento.");  
	        RequestContext.getCurrentInstance().showMessageInDialog(message);
			return null;
		}	

	}
	
	public String eliminarGerente() {
		
		if (this.gerenteSeleccionado != null) {

			ServiceLocator.getUsuarioService().eliminarGerente(this.gerenteSeleccionado);
	
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Advertencia", "La operacion se ha realizado con exito.");  
			RequestContext.getCurrentInstance().showMessageInDialog(message);
			
			return null;

		} else {
			
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Advertencia", "No ha seleccionado ningun elemento.");  
	        RequestContext.getCurrentInstance().showMessageInDialog(message);
			return null;
		}	

	}


}
